/*
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using FarseerGames.FarseerPhysics.Dynamics;
using FarseerGames.FarseerPhysics.Collisions;

namespace Dragoon
{
 
    enum Movability { Fixed, Movable };

    abstract class PhysicsComponent : ColoredNormalShape      
    {
        protected readonly Geom _physical;

        public PhysicsComponent(Game g, Geom b, Vector3 position, Movability movAbility) : base(g) 
        {
            _physical = b;
        }

        public Vector3 Position
        {
            get
            {
                return new Vector3(_physical.Position.X,0,_physical.Position.Y);
            }
            set
            {
                _physical.Body.Position =  new Vector2(value.X, value.Y);
            }
        }


        protected override void UpdateEffect()
        {
            Matrix w = Matrix.CreateTranslation(Position) *
                Matrix.CreateFromAxisAngle(Vector3.Up, _physical.Body.Rotation);
//                _physical.Matrix...;
            _fx.SetWorld(w);
        }

    }

}
*/